PaRV: Parallelizing Runtime Detection and Prevention of Concurrency Errors
نویسندگان
چکیده
We present the PaRV tool for runtime detection of and recovery from data races in multi-threaded C and C++ programs. PaRV uses transactional memory technology for parallelizing runtime verification and for buffering write accesses during race checking. Application threads are slowed down only due to instrumentation, but not due to the computation performed by runtime verification algorithms since the latter are run concurrently on different threads. Buffering writes allows us to recover from races and to safeguard against later ones.
منابع مشابه
KUDA: GPU Accelerated Split Race Checker
We propose a novel approach for runtime verification on computers with a large number of computation cores, without any hardware extension to mainstream PC environment. The goal of the approach is making use of all hardware resources to decouple the computational overhead of traditional race checkers via parallelizing the runtime verification. We distinguish between two kinds of computational o...
متن کاملRethinking Runtime Verification on Hundreds of Cores: Challenges and Opportunities
We propose a novel approach for runtime monitoring and verification on computers with a large number of computation cores. The goal of the approach is to minimize the impact of runtime verification on the performance of the application being monitored. We distinguish between two kinds of computational overhead: (i) overhead caused by instrumentation and/or logging, and (ii) parallelizable overh...
متن کاملOptimization of majority protocol for controlling transactions concurrency in distributed databases by multi-agent systems
In this paper, we propose a new concurrency control algorithm based on multi-agent systems which is an extension of majority protocol. Then, we suggest a clustering approach to get better results in reliability, decreasing message passing and algorithm’s runtime. Here, we consider n different transactions working on non-conflict data items. Considering execution efficiency of some different...
متن کاملKuda: The Split Race Checker
Numerous runtime analysis tools are designed to observe the concurrency bugs in parallel programs (i.e. heisenbugs), there exists commercial or open source types available. Whereas usability of these tools is hurt by their performance, slowdowns may reach several thousand times the application only run. Overhead of these tools can be divided to two tightly coupled jobs: tracing and analyzing. T...
متن کاملCycle Time Reduction and Runtime Rebalancing by Reallocating Dependent Tasks
Business Process Management Systems (BPMS) is a complex information system that provides designing, administrating, and improving the business processes. Task allocation to human resources is one of the most important issues which should be managed more efficiently in BPMS. Task allocation algorithms are defined in order to meet the various policies of organizations. The most important of these...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012